package cn.itrip.service.itripHotelOrder;
import cn.itrip.beans.pojo.ItripHotel;
import cn.itrip.beans.pojo.ItripHotelOrder;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import cn.itrip.beans.pojo.ItripHotelTempStore;
import cn.itrip.beans.pojo.ItripTradeEnds;
import cn.itrip.beans.vo.order.ValidateRoomStoreVO;
import cn.itrip.common.Page;
/**
* Created by shang-pc on 2015/11/7.
*/
public interface ItripHotelOrderService {

    public ItripHotelOrder getItripHotelOrderById(Long id)throws Exception;

    public List<ItripHotelOrder>	getItripHotelOrderListByMap(Map<String,Object> param)throws Exception;

    public Integer getItripHotelOrderCountByMap(Map<String,Object> param)throws Exception;

    public Integer itriptxAddItripHotelOrder(ItripHotelOrder itripHotelOrder)throws Exception;

    public Integer itriptxModifyItripHotelOrder(ItripHotelOrder itripHotelOrder)throws Exception;

    public Integer itriptxDeleteItripHotelOrderById(Long id)throws Exception;

    public Page<ItripHotelOrder> queryItripHotelOrderPageByMap(Map<String,Object> param,Integer pageNo,Integer pageSize)throws Exception;

    public List<ItripHotelTempStore> queryRoomStore(Map<String,Object> param);

    public boolean valideroomcount(int count, Map<String, Object> param);


    public BigDecimal payAmount(int count,long roomId) throws Exception;


    /**
     * 不支持线下支付的情况
     * payType=1 return false;  在线付
     * payType=2 return true;   线下付
     * payTType=3 return true;  不限
     *
     * @param roomId
     * @return
     */
    public boolean isOffLinePaymentSupport(long roomId) throws Exception;


    public void cancelOrderTimeOut();

    public void  changOrderToCommit();


    public  void itriptxFlushTempStore(List<ItripTradeEnds> list) throws Exception;

}
